package com.cyl.game.demos.web.service;

import java.util.List;
import java.util.Map;

import org.springframework.stereotype.Component;

import com.cyl.game.demos.web.entity.Hero;
import com.cyl.game.demos.web.entity.User; // 根据实际项目包名替换
@Component
public interface UserService {
    int addUser(User user);
    User getUserByUsername(String username);
    List<User> getAllUsers();
        // 获取指定用户所拥有的英雄 ID 列表
    List<Integer> getHeroIdsByUserId(Integer user_id);

    // 获取所有用户及其所拥有的英雄 ID 列表（以 Map 形式返回）
    Map<Integer, List<Integer>> getAllUsersWithHeroIds();
        // 让指定用户拥有指定英雄（插入关联记录）
    void addHeroForUser(int user_id, int hero_id);

    // 移除指定用户对指定英雄的拥有关系（删除关联记录）
    void removeHeroFromUser(int user_id, int hero_id);

    // 获取指定用户所拥有的所有英雄设计信息（通过调用UserMapper相关方法）
    List<Hero> getHeroesOwnedByUserId(int user_id);

    // 获取拥有指定英雄的所有用户信息（通过调用UserMapper相关方法）
    List<User> getUsersWhoOwnHero(int hero_id);
}